package it.valeandre.omino.model;

import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

import it.valeandre.omino.utils.TypedPair;

@Root(name = "Match")
public class Match extends ScoreListItem {

    /**
     *
     */
    private static final long serialVersionUID = -4272316900653979312L;

    @Element(name = "Id", required = false)
    private long id;

    @Element(name = "FixtureMatch_Id", required = false)
    private long fixtureMatchId;

    @Element(name = "Date", required = false)
    private String date;

    @Element(name = "League", required = false)
    private String league;

    @Element(name = "Round", required = false)
    private int round;

    @Element(name = "Spectators", required = false)
    private long spectators;

    @Element(name = "HomeTeam", required = false)
    private String hometeam;

    @Element(name = "Hometeam", required = false)
    private String hometeamRealtime;

    @Element(name = "HomeTeam_Id", required = false)
    private long hometeamId;

    @Element(name = "AwayTeam", required = false)
    private String awayteam;

    @Element(name = "Awayteam", required = false)
    private String awayteamRealtime;

    @Element(name = "AwayTeam_Id", required = false)
    private long awayteamId;

    @Element(name = "Time", required = false)
    private String time;

    @Element(name = "HomeGoals", required = false)
    private String homeGoals;

    @Element(name = "AwayGoals", required = false)
    private String awayGoals;

    @Element(name = "HomeGoalDetails", required = false)
    private String homeGoalDetails;

    @Element(name = "AwayGoalDetails", required = false)
    private String awayGoalDetails;

    @Element(name = "HomeLineupGoalkeeper", required = false)
    private String homeLineupGoalkeeper;

    @Element(name = "AwayLineupGoalkeeper", required = false)
    private String awayLineupGoalkeeper;

    @Element(name = "HomeLineupDefense", required = false)
    private String homeLineupDefense;

    @Element(name = "AwayLineupDefense", required = false)
    private String awayLineupDefense;

    @Element(name = "HomeLineupMidfield", required = false)
    private String homeLineupMidfield;

    @Element(name = "AwayLineupMidfield", required = false)
    private String awayLineupMidfield;

    @Element(name = "HomeLineupForward", required = false)
    private String homeLineupForward;

    @Element(name = "HomeShots", required = false)
    private String homeShots;

    @Element(name = "AwayShots", required = false)
    private String awayShots;

    @Element(name = "HomeCorners", required = false)
    private String homeCorners;

    @Element(name = "AwayCorners", required = false)
    private String awayCorners;

    @Element(name = "AwayLineupForward", required = false)
    private String awayLineupForward;

    @Element(name = "HomeSubDetails", required = false)
    private String homeSubDetails;

    @Element(name = "AwaySubDetails", required = false)
    private String awaySubDetails;

    @Element(name = "HomeTeamFormation", required = false)
    private String homeTeamFormation;

    @Element(name = "AwayTeamFormation", required = false)
    private String awayTeamFormation;

    @Element(name = "Location", required = false)
    private String location;

    @Element(name = "Stadium", required = false)
    private String stadium;

    @Element(name = "WilliamHill_Home", required = false)
    private float williamHillHome;

    @Element(name = "WilliamHill_Draw", required = false)
    private float williamHillDraw;

    @Element(name = "WilliamHill_Away", required = false)
    private float williamHillAway;

    @Element(name = "WilliamHillLink", required = false)
    private String williamHillLink;

    @Element(name = "InterwettenHome", required = false)
    private float interwettenHome;

    @Element(name = "InterwettenDraw", required = false)
    private float interwettenDraw;

    @Element(name = "InterwettenAway", required = false)
    private float interwettenAway;

    @Element(name = "InterwettenLink", required = false)
    private String interwettenLink;

    @Element(name = "HomeTeamYellowCardDetails", required = false)
    private String homeTeamYellowCardDetail;

    @Element(name = "AwayTeamYellowCardDetails", required = false)
    private String awayTeamYellowCardDetails;

    @Element(name = "HomeTeamRedCardDetails", required = false)
    private String homeTeamRedCardDetails;

    @Element(name = "AwayTeamRedCardDetails", required = false)
    private String awayTeamRedCardDetails;

    public EventDetails getHomeGoalDetailsPairList() {
        return new EventDetails(getHomeGoalDetails(), TypedPair.MatchType.HOME, TypedPair.EventType.GOAL);
    }

    public EventDetails getAwayGoalDetailsPairList() {
        return new EventDetails(getAwayGoalDetails(), TypedPair.MatchType.AWAY, TypedPair.EventType.GOAL);
    }

    public EventDetails getHomeYellowCardsDetailsPairList() {
        return new EventDetails(getHomeTeamYellowCardDetail(), TypedPair.MatchType.HOME, TypedPair.EventType.YELLOW);
    }

    public EventDetails getAwayYellowCardsDetailsPairList() {
        return new EventDetails(getAwayTeamYellowCardDetails(), TypedPair.MatchType.AWAY, TypedPair.EventType.YELLOW);
    }

    public EventDetails getHomeRedCardsDetailsPairList() {
        return new EventDetails(getHomeTeamRedCardDetails(), TypedPair.MatchType.HOME, TypedPair.EventType.RED);
    }

    public EventDetails getAwayRedCardsDetailsPairList() {
        return new EventDetails(getAwayTeamRedCardDetails(), TypedPair.MatchType.AWAY, TypedPair.EventType.RED);
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public String getLeague() {
        return league;
    }

    public void setLeague(String league) {
        this.league = league;
    }

    public int getRound() {
        return round;
    }

    public void setRound(int round) {
        this.round = round;
    }

    public long getSpectators() {
        return spectators;
    }

    public void setSpectators(long spectators) {
        this.spectators = spectators;
    }

    public String getHometeam() {
        return hometeam;
    }

    public void setHometeam(String hometeam) {
        this.hometeam = hometeam;
    }

    public long getHometeamId() {
        return hometeamId;
    }

    public void setHometeamId(long hometeamId) {
        this.hometeamId = hometeamId;
    }

    public String getAwayteam() {
        return awayteam;
    }

    public void setAwayteam(String awayteam) {
        this.awayteam = awayteam;
    }

    public long getAwayteamId() {
        return awayteamId;
    }

    public void setAwayteamId(long awayteamId) {
        this.awayteamId = awayteamId;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public String getHomeGoals() {
        return homeGoals;
    }

    public void setHomeGoals(String homeGoals) {
        this.homeGoals = homeGoals;
    }

    public String getAwayGoals() {
        return awayGoals;
    }

    public void setAwayGoals(String awayGoals) {
        this.awayGoals = awayGoals;
    }

    public String getHomeGoalDetails() {
        return homeGoalDetails;
    }

    public void setHomeGoalDetails(String homeGoalDetails) {
        this.homeGoalDetails = homeGoalDetails;
    }

    public String getAwayGoalDetails() {
        return awayGoalDetails;
    }

    public void setAwayGoalDetails(String awayGoalDetails) {
        this.awayGoalDetails = awayGoalDetails;
    }

    public String getHomeLineupGoalkeeper() {
        return homeLineupGoalkeeper;
    }

    public void setHomeLineupGoalkeeper(String homeLineupGoalkeeper) {
        this.homeLineupGoalkeeper = homeLineupGoalkeeper;
    }

    public String getAwayLineupGoalkeeper() {
        return awayLineupGoalkeeper;
    }

    public void setAwayLineupGoalkeeper(String awayLineupGoalkeeper) {
        this.awayLineupGoalkeeper = awayLineupGoalkeeper;
    }

    public String getHomeLineupDefense() {
        return homeLineupDefense;
    }

    public void setHomeLineupDefense(String homeLineupDefense) {
        this.homeLineupDefense = homeLineupDefense;
    }

    public String getAwayLineupDefense() {
        return awayLineupDefense;
    }

    public void setAwayLineupDefense(String awayLineupDefense) {
        this.awayLineupDefense = awayLineupDefense;
    }

    public String getHomeLineupMidfield() {
        return homeLineupMidfield;
    }

    public void setHomeLineupMidfield(String homeLineupMidfield) {
        this.homeLineupMidfield = homeLineupMidfield;
    }

    public String getAwayLineupMidfield() {
        return awayLineupMidfield;
    }

    public void setAwayLineupMidfield(String awayLineupMidfield) {
        this.awayLineupMidfield = awayLineupMidfield;
    }

    public String getHomeLineupForward() {
        return homeLineupForward;
    }

    public void setHomeLineupForward(String homeLineupForward) {
        this.homeLineupForward = homeLineupForward;
    }

    public String getAwayLineupForward() {
        return awayLineupForward;
    }

    public void setAwayLineupForward(String awayLineupForward) {
        this.awayLineupForward = awayLineupForward;
    }

    public String getHomeSubDetails() {
        return homeSubDetails;
    }

    public void setHomeSubDetails(String homeSubDetails) {
        this.homeSubDetails = homeSubDetails;
    }

    public String getAwaySubDetails() {
        return awaySubDetails;
    }

    public void setAwaySubDetails(String awaySubDetails) {
        this.awaySubDetails = awaySubDetails;
    }

    public String getHomeTeamFormation() {
        return homeTeamFormation;
    }

    public void setHomeTeamFormation(String homeTeamFormation) {
        this.homeTeamFormation = homeTeamFormation;
    }

    public String getAwayTeamFormation() {
        return awayTeamFormation;
    }

    public void setAwayTeamFormation(String awayTeamFormation) {
        this.awayTeamFormation = awayTeamFormation;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getStadium() {
        return stadium;
    }

    public void setStadium(String stadium) {
        this.stadium = stadium;
    }

    public float getWilliamHillHome() {
        return williamHillHome;
    }

    public void setWilliamHillHome(float williamHillHome) {
        this.williamHillHome = williamHillHome;
    }

    public float getWilliamHillDraw() {
        return williamHillDraw;
    }

    public void setWilliamHillDraw(float williamHillDraw) {
        this.williamHillDraw = williamHillDraw;
    }

    public float getWilliamHillAway() {
        return williamHillAway;
    }

    public void setWilliamHillAway(float williamHillAway) {
        this.williamHillAway = williamHillAway;
    }

    public String getWilliamHillLink() {
        return williamHillLink;
    }

    public void setWilliamHillLink(String williamHillLink) {
        this.williamHillLink = williamHillLink;
    }

    public float getInterwettenHome() {
        return interwettenHome;
    }

    public void setInterwettenHome(float interwettenHome) {
        this.interwettenHome = interwettenHome;
    }

    public float getInterwettenDraw() {
        return interwettenDraw;
    }

    public void setInterwettenDraw(float interwettenDraw) {
        this.interwettenDraw = interwettenDraw;
    }

    public float getInterwettenAway() {
        return interwettenAway;
    }

    public void setInterwettenAway(float interwettenAway) {
        this.interwettenAway = interwettenAway;
    }

    public String getInterwettenLink() {
        return interwettenLink;
    }

    public void setInterwettenLink(String interwettenLink) {
        this.interwettenLink = interwettenLink;
    }

    public String getHomeTeamYellowCardDetail() {
        return homeTeamYellowCardDetail;
    }

    public void setHomeTeamYellowCardDetail(String homeTeamYellowCardDetail) {
        this.homeTeamYellowCardDetail = homeTeamYellowCardDetail;
    }

    public String getAwayTeamYellowCardDetails() {
        return awayTeamYellowCardDetails;
    }

    public void setAwayTeamYellowCardDetails(String awayTeamYellowCardDetails) {
        this.awayTeamYellowCardDetails = awayTeamYellowCardDetails;
    }

    public String getHomeTeamRedCardDetails() {
        return homeTeamRedCardDetails;
    }

    public void setHomeTeamRedCardDetails(String homeTeamRedCardDetails) {
        this.homeTeamRedCardDetails = homeTeamRedCardDetails;
    }

    public long getFixtureMatchId() {
        return fixtureMatchId;
    }

    public void setFixtureMatchId(long fixtureMatchId) {
        this.fixtureMatchId = fixtureMatchId;
    }

    public String getHometeamRealtime() {
        return hometeamRealtime;
    }

    public void setHometeamRealtime(String hometeamRealtime) {
        this.hometeamRealtime = hometeamRealtime;
    }

    public String getAwayteamRealtime() {
        return awayteamRealtime;
    }

    public void setAwayteamRealtime(String awayteamRealtime) {
        this.awayteamRealtime = awayteamRealtime;
    }

    public String getHomeShots() {
        return homeShots;
    }

    public void setHomeShots(String homeShots) {
        this.homeShots = homeShots;
    }

    public String getHomeCorners() {
        return homeCorners;
    }

    public void setHomeCorners(String homeCorners) {
        this.homeCorners = homeCorners;
    }

    public String getAwayShots() {
        return awayShots;
    }

    public void setAwayShots(String awayShots) {
        this.awayShots = awayShots;
    }

    public String getAwayCorners() {
        return awayCorners;
    }

    public void setAwayCorners(String awayCorners) {
        this.awayCorners = awayCorners;
    }

    @Element(name = "HomeShotsOnTarget", required = false)
    private String homeShotsOnTarget;

    @Element(name = "AwayShotsOnTarget", required = false)
    private String awayShotsOnTarget;

    @Element(name = "HomeFouls", required = false)
    private String homeFouls;

    @Element(name = "AwayFouls", required = false)
    private String awayFouls;

    @Element(name = "HalfTimeHomeGoals", required = false)
    private String halftimeHomeGoals;

    @Element(name = "HalfTimeAwayGoals", required = false)
    private String halftimeAwayGoals;

    @Element(name = "HomeYellowCards", required = false)
    private String homeYellowCards;

    @Element(name = "AwayYellowCards", required = false)
    private String awayYellowCards;

    @Element(name = "HomeRedCards", required = false)
    private String homeRedCards;

    @Element(name = "AwayRedCards", required = false)
    private String awayRedCards;



    public String getHomeShotsOnTarget() {
        return homeShotsOnTarget;
    }

    public void setHomeShotsOnTarget(String homeShotsOnTarget) {
        this.homeShotsOnTarget = homeShotsOnTarget;
    }

    public String getAwayShotsOnTarget() {
        return awayShotsOnTarget;
    }

    public void setAwayShotsOnTarget(String awayShotsOnTarget) {
        this.awayShotsOnTarget = awayShotsOnTarget;
    }

    public String getHomeFouls() {
        return homeFouls;
    }

    public void setHomeFouls(String homeFouls) {
        this.homeFouls = homeFouls;
    }

    public String getAwayFouls() {
        return awayFouls;
    }

    public void setAwayFouls(String awayFouls) {
        this.awayFouls = awayFouls;
    }

    public String getHalftimeHomeGoals() {
        return halftimeHomeGoals;
    }

    public void setHalftimeHomeGoals(String halftimeHomeGoals) {
        this.halftimeHomeGoals = halftimeHomeGoals;
    }

    public String getHalftimeAwayGoals() {
        return halftimeAwayGoals;
    }

    public void setHalftimeAwayGoals(String halftimeAwayGoals) {
        this.halftimeAwayGoals = halftimeAwayGoals;
    }

    public String getHomeYellowCards() {
        return homeYellowCards;
    }

    public void setHomeYellowCards(String homeYellowCards) {
        this.homeYellowCards = homeYellowCards;
    }

    public String getAwayYellowCards() {
        return awayYellowCards;
    }

    public void setAwayYellowCards(String awayYellowCards) {
        this.awayYellowCards = awayYellowCards;
    }

    public String getHomeRedCards() {
        return homeRedCards;
    }

    public void setHomeRedCards(String homeRedCards) {
        this.homeRedCards = homeRedCards;
    }

    public String getAwayRedCards() {
        return awayRedCards;
    }

    public void setAwayRedCards(String awayRedCards) {
        this.awayRedCards = awayRedCards;
    }

    public String getAwayTeamRedCardDetails() {
        return awayTeamRedCardDetails;
    }

    public void setAwayTeamRedCardDetails(String awayTeamRedCardDetails) {
        this.awayTeamRedCardDetails = awayTeamRedCardDetails;
    }
}
